package com.jk.myimkit.imkit;

import java.util.List;

import io.rong.imlib.AnnotationNotFoundException;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Discussion;
import io.rong.imlib.model.Group;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.MessageContent;
import io.rong.imlib.model.PublicServiceProfile;
import io.rong.imlib.model.PublicServiceProfileList;
import io.rong.imlib.model.UserData;

public class RongIMClientWrapper {
    public RongIMClientWrapper() {
    }

    /** @deprecated */
    @Deprecated
    public RongIMClientWrapper connect(String token, RongIMClient.ConnectCallback callback) {
        RongIM.connect(token, callback);
        return this;
    }

    /** @deprecated */
    @Deprecated
    public static void setConnectionStatusListener(RongIMClient.ConnectionStatusListener listener) {
        RongIM.setConnectionStatusListener(listener);
    }

    /** @deprecated */
    @Deprecated
    public static void registerMessageType(Class<? extends MessageContent> type) throws AnnotationNotFoundException {
        RongIM.registerMessageType(type);
    }

    /** @deprecated */
    @Deprecated
    public RongIMClient.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus() {
        return RongIM.getInstance().getCurrentConnectionStatus();
    }

    /** @deprecated */
    @Deprecated
    public void disconnect() {
        RongIM.getInstance().disconnect();
    }

    /** @deprecated */
    @Deprecated
    public void disconnect(boolean isReceivePush) {
        RongIM.getInstance().disconnect(isReceivePush);
    }

    /** @deprecated */
    @Deprecated
    public void logout() {
        RongIM.getInstance().logout();
    }

    /** @deprecated */
    @Deprecated
    public static void setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener) {
        RongIM.setOnReceiveMessageListener(listener);
    }

    /** @deprecated */
    @Deprecated
    public void getConversationList(RongIMClient.ResultCallback<List<Conversation>> callback) {
        RongIM.getInstance().getConversationList(callback);
    }

    /** @deprecated */
    @Deprecated
    public List<Conversation> getConversationList() {
        return RongIM.getInstance().getConversationList();
    }

    /** @deprecated */
    @Deprecated
    public void getConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Conversation.ConversationType... types) {
        RongIM.getInstance().getConversationList(callback, types);
    }

    /** @deprecated */
    @Deprecated
    public List<Conversation> getConversationList(Conversation.ConversationType... types) {
        return RongIM.getInstance().getConversationList(types);
    }

    /** @deprecated */
    @Deprecated
    public void getConversation(Conversation.ConversationType type, String targetId, RongIMClient.ResultCallback<Conversation> callback) {
        RongIM.getInstance().getConversation(type, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public Conversation getConversation(Conversation.ConversationType type, String targetId) {
        return RongIM.getInstance().getConversation(type, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void removeConversation(Conversation.ConversationType type, String targetId, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().removeConversation(type, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean removeConversation(Conversation.ConversationType type, String targetId) {
        return RongIM.getInstance().removeConversation(type, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void setConversationToTop(Conversation.ConversationType type, String id, boolean isTop, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().setConversationToTop(type, id, isTop, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean setConversationToTop(Conversation.ConversationType conversationType, String targetId, boolean isTop) {
        return RongIM.getInstance().setConversationToTop(conversationType, targetId, isTop);
    }

    /** @deprecated */
    @Deprecated
    public void getTotalUnreadCount(RongIMClient.ResultCallback<Integer> callback) {
        RongIM.getInstance().getTotalUnreadCount(callback);
    }

    /** @deprecated */
    @Deprecated
    public int getTotalUnreadCount() {
        return RongIM.getInstance().getTotalUnreadCount();
    }

    /** @deprecated */
    @Deprecated
    public void getUnreadCount(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Integer> callback) {
        RongIM.getInstance().getUnreadCount(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public int getUnreadCount(Conversation.ConversationType conversationType, String targetId) {
        return RongIM.getInstance().getUnreadCount(conversationType, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void getUnreadCount(RongIMClient.ResultCallback<Integer> callback, Conversation.ConversationType... conversationTypes) {
        RongIM.getInstance().getUnreadCount(callback, conversationTypes);
    }

    /** @deprecated */
    @Deprecated
    public int getUnreadCount(Conversation.ConversationType... conversationTypes) {
        return RongIM.getInstance().getUnreadCount(conversationTypes);
    }

    /** @deprecated */
    @Deprecated
    public void getUnreadCount(Conversation.ConversationType[] conversationTypes, RongIMClient.ResultCallback<Integer> callback) {
        RongIM.getInstance().getUnreadCount(conversationTypes, callback);
    }

    /** @deprecated */
    @Deprecated
    public List<Message> getLatestMessages(Conversation.ConversationType conversationType, String targetId, int count) {
        return RongIM.getInstance().getLatestMessages(conversationType, targetId, count);
    }

    /** @deprecated */
    @Deprecated
    public void getLatestMessages(Conversation.ConversationType conversationType, String targetId, int count, RongIMClient.ResultCallback<List<Message>> callback) {
        RongIM.getInstance().getLatestMessages(conversationType, targetId, count, callback);
    }

    /** @deprecated */
    @Deprecated
    public List<Message> getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count) {
        return RongIM.getInstance().getHistoryMessages(conversationType, targetId, oldestMessageId, count);
    }

    /** @deprecated */
    @Deprecated
    public List<Message> getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count) {
        return RongIM.getInstance().getHistoryMessages(conversationType, targetId, objectName, oldestMessageId, count);
    }

    /** @deprecated */
    @Deprecated
    public void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback) {
        RongIM.getInstance().getHistoryMessages(conversationType, targetId, objectName, oldestMessageId, count, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback) {
        RongIM.getInstance().getHistoryMessages(conversationType, targetId, oldestMessageId, count, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, long dataTime, int count, RongIMClient.ResultCallback<List<Message>> callback) {
        RongIM.getInstance().getRemoteHistoryMessages(conversationType, targetId, dataTime, count, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean deleteMessages(int[] messageIds) {
        return RongIM.getInstance().deleteMessages(messageIds);
    }

    /** @deprecated */
    @Deprecated
    public void deleteMessages(int[] messageIds, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().deleteMessages(messageIds, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean clearMessages(Conversation.ConversationType conversationType, String targetId) {
        return RongIM.getInstance().clearMessages(conversationType, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void clearMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().clearMessages(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean clearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId) {
        return RongIM.getInstance().clearMessagesUnreadStatus(conversationType, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().clearMessagesUnreadStatus(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean setMessageExtra(int messageId, String value) {
        return RongIM.getInstance().setMessageExtra(messageId, value);
    }

    /** @deprecated */
    @Deprecated
    public void setMessageExtra(int messageId, String value, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().setMessageExtra(messageId, value, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus) {
        return RongIM.getInstance().setMessageReceivedStatus(messageId, receivedStatus);
    }

    /** @deprecated */
    @Deprecated
    public void setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().setMessageReceivedStatus(messageId, receivedStatus, callback);
    }

    /** @deprecated */
    @Deprecated
    public boolean setMessageSentStatus(int messageId, Message.SentStatus sentStatus) {
        return RongIM.getInstance().setMessageSentStatus(messageId, sentStatus);
    }

    /** @deprecated */
    @Deprecated
    public void setMessageSentStatus(int messageId, Message.SentStatus sentStatus, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().setMessageSentStatus(messageId, sentStatus, callback);
    }

    /** @deprecated */
    @Deprecated
    public String getTextMessageDraft(Conversation.ConversationType conversationType, String targetId) {
        return RongIM.getInstance().getTextMessageDraft(conversationType, targetId);
    }

    /** @deprecated */
    @Deprecated
    public boolean saveTextMessageDraft(Conversation.ConversationType conversationType, String targetId, String content) {
        return RongIM.getInstance().saveTextMessageDraft(conversationType, targetId, content);
    }

    /** @deprecated */
    @Deprecated
    public boolean clearTextMessageDraft(Conversation.ConversationType conversationType, String targetId) {
        return RongIM.getInstance().clearTextMessageDraft(conversationType, targetId);
    }

    /** @deprecated */
    @Deprecated
    public void getTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<String> callback) {
        RongIM.getInstance().getTextMessageDraft(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void saveTextMessageDraft(Conversation.ConversationType conversationType, String targetId, String content, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().saveTextMessageDraft(conversationType, targetId, content, callback);
    }

    /** @deprecated */
    @Deprecated
    public void clearTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback) {
        RongIM.getInstance().clearTextMessageDraft(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getDiscussion(String discussionId, RongIMClient.ResultCallback<Discussion> callback) {
        RongIM.getInstance().getDiscussion(discussionId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void setDiscussionName(String discussionId, String name, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().setDiscussionName(discussionId, name, callback);
    }

    /** @deprecated */
    @Deprecated
    public void createDiscussion(String name, List<String> userIdList, RongIMClient.CreateDiscussionCallback callback) {
        RongIM.getInstance().createDiscussion(name, userIdList, callback);
    }

    /** @deprecated */
    @Deprecated
    public void addMemberToDiscussion(String discussionId, List<String> userIdList, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().addMemberToDiscussion(discussionId, userIdList, callback);
    }

    /** @deprecated */
    @Deprecated
    public void removeMemberFromDiscussion(String discussionId, String userId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().removeMemberFromDiscussion(discussionId, userId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void quitDiscussion(String discussionId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().quitDiscussion(discussionId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void insertMessage(Conversation.ConversationType type, String targetId, String senderUserId, MessageContent content, RongIMClient.ResultCallback<Message> callback) {
        RongIM.getInstance().insertMessage(type, targetId, senderUserId, content, callback);
    }

    /** @deprecated */
    @Deprecated
    public Message insertMessage(Conversation.ConversationType type, String targetId, String senderUserId, MessageContent content) {
        return RongIM.getInstance().insertMessage(type, targetId, senderUserId, content);
    }

    /** @deprecated */
    @Deprecated
    public Message sendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, RongIMClient.SendMessageCallback callback) {
        return RongIM.getInstance().sendMessage(type, targetId, content, pushContent, pushData, callback);
    }

    /** @deprecated */
    @Deprecated
    public void sendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, RongIMClient.SendMessageCallback callback, RongIMClient.ResultCallback<Message> resultCallback) {
        RongIM.getInstance().sendMessage(type, targetId, content, pushContent, pushData, callback, resultCallback);
    }

    /** @deprecated */
    @Deprecated
    public void sendMessage(Message message, String pushContent, String pushData, RongIMClient.SendMessageCallback callback, RongIMClient.ResultCallback<Message> resultCallback) {
        RongIM.getInstance().sendMessage(message, pushContent, pushData, callback, resultCallback);
    }

    /** @deprecated */
    @Deprecated
    public Message sendMessage(Message message, String pushContent, String pushData, RongIMClient.SendMessageCallback callback) {
        return RongIM.getInstance().sendMessage(message, pushContent, pushData, callback);
    }

    /** @deprecated */
    @Deprecated
    public void sendImageMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback) {
        RongIM.getInstance().sendImageMessage(type, targetId, content, pushContent, pushData, callback);
    }

    /** @deprecated */
    @Deprecated
    public void sendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback) {
        RongIM.getInstance().sendImageMessage(message, pushContent, pushData, callback);
    }

    /** @deprecated */
    @Deprecated
    public void sendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageWithUploadListenerCallback callback) {
        RongIM.getInstance().sendImageMessage(message, pushContent, pushData, callback);
    }

    /** @deprecated */
    @Deprecated
    public void downloadMedia(Conversation.ConversationType conversationType, String targetId, RongIMClient.MediaType mediaType, String imageUrl, RongIMClient.DownloadMediaCallback callback) {
        RongIM.getInstance().downloadMedia(conversationType, targetId, mediaType, imageUrl, callback);
    }

    /** @deprecated */
    @Deprecated
    public void downloadMedia(String imageUrl, RongIMClient.DownloadMediaCallback callback) {
        RongIM.getInstance().downloadMedia(imageUrl, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback) {
        RongIM.getInstance().getConversationNotificationStatus(conversationType, targetId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void setConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, Conversation.ConversationNotificationStatus notificationStatus, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback) {
        RongIM.getInstance().setConversationNotificationStatus(conversationType, targetId, notificationStatus, callback);
    }

    /** @deprecated */
    @Deprecated
    public void setDiscussionInviteStatus(String discussionId, RongIMClient.DiscussionInviteStatus status, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().setDiscussionInviteStatus(discussionId, status, callback);
    }

    /** @deprecated */
    @Deprecated
    public void syncGroup(List<Group> groups, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().syncGroup(groups, callback);
    }

    /** @deprecated */
    @Deprecated
    public void joinGroup(String groupId, String groupName, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().joinGroup(groupId, groupName, callback);
    }

    /** @deprecated */
    @Deprecated
    public void quitGroup(String groupId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().quitGroup(groupId, callback);
    }

    /** @deprecated */
    @Deprecated
    public String getCurrentUserId() {
        return RongIM.getInstance().getCurrentUserId();
    }

    /** @deprecated */
    @Deprecated
    public long getDeltaTime() {
        return RongIM.getInstance().getDeltaTime();
    }

    /** @deprecated */
    @Deprecated
    public void joinChatRoom(String chatroomId, int defMessageCount, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().joinChatRoom(chatroomId, defMessageCount, callback);
    }

    /** @deprecated */
    @Deprecated
    public void joinExistChatRoom(String chatroomId, int defMessageCount, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().joinExistChatRoom(chatroomId, defMessageCount, callback);
    }

    /** @deprecated */
    @Deprecated
    public void quitChatRoom(String chatroomId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().quitChatRoom(chatroomId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void clearConversations(RongIMClient.ResultCallback callback, Conversation.ConversationType... conversationTypes) {
        RongIM.getInstance().clearConversations(callback, conversationTypes);
    }

    /** @deprecated */
    @Deprecated
    public boolean clearConversations(Conversation.ConversationType... conversationTypes) {
        return RongIM.getInstance().clearConversations(conversationTypes);
    }

    /** @deprecated */
    @Deprecated
    public void addToBlacklist(String userId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().addToBlacklist(userId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void removeFromBlacklist(String userId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().removeFromBlacklist(userId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getBlacklistStatus(String userId, RongIMClient.ResultCallback<RongIMClient.BlacklistStatus> callback) {
        RongIM.getInstance().getBlacklistStatus(userId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getBlacklist(RongIMClient.GetBlacklistCallback callback) {
        RongIM.getInstance().getBlacklist(callback);
    }

    /** @deprecated */
    @Deprecated
    public void setNotificationQuietHours(String startTime, int spanMinutes, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().setNotificationQuietHours(startTime, spanMinutes, callback);
    }

    /** @deprecated */
    @Deprecated
    public void removeNotificationQuietHours(RongIMClient.OperationCallback callback) {
        RongIM.getInstance().removeNotificationQuietHours(callback);
    }

    /** @deprecated */
    @Deprecated
    public void getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback) {
        RongIM.getInstance().getNotificationQuietHours(callback);
    }

    /** @deprecated */
    @Deprecated
    public void getPublicServiceProfile(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.ResultCallback<PublicServiceProfile> callback) {
        RongIM.getInstance().getPublicServiceProfile(publicServiceType, publicServiceId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void searchPublicService(RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback) {
        RongIM.getInstance().searchPublicService(searchType, keywords, callback);
    }

    /** @deprecated */
    @Deprecated
    public void searchPublicServiceByType(Conversation.PublicServiceType publicServiceType, RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback) {
        RongIM.getInstance().searchPublicServiceByType(publicServiceType, searchType, keywords, callback);
    }

    /** @deprecated */
    @Deprecated
    public void subscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().subscribePublicService(publicServiceType, publicServiceId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void unsubscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().unsubscribePublicService(publicServiceType, publicServiceId, callback);
    }

    /** @deprecated */
    @Deprecated
    public void getPublicServiceList(RongIMClient.ResultCallback<PublicServiceProfileList> callback) {
        RongIM.getInstance().getPublicServiceList(callback);
    }

    /** @deprecated */
    @Deprecated
    public void syncUserData(UserData userData, RongIMClient.OperationCallback callback) {
        RongIM.getInstance().syncUserData(userData, callback);
    }
}
